package com.example.excel.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import java.time.LocalDateTime;

/**
 * 用户实体类
 * 对应数据库中的excel_sxssf_export_user表
 * 
 * 该实体类用于映射数据库表结构，包含用户的基本信息
 * 主要用于数据生成和Excel导出功能
 */
@TableName("excel_sxssf_export_user")
public class User {
    
    /**
     * 用户ID，主键，自增长
     * 对应数据库表中的id字段
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /**
     * 用户姓名
     * 对应数据库表中的name字段
     */
    @TableField("name")
    private String name;
    
    /**
     * 用户邮箱
     * 对应数据库表中的email字段
     */
    @TableField("email")
    private String email;
    
    /**
     * 用户年龄
     * 对应数据库表中的age字段
     * 可能为空
     */
    @TableField("age")
    private Integer age;
    
    /**
     * 用户地址
     * 对应数据库表中的address字段
     * 可能为空
     */
    @TableField("address")
    private String address;
    
    /**
     * 创建时间
     * 对应数据库表中的create_time字段
     * 默认值为记录插入时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;
    
    // Getter和Setter方法
    
    public Long getId() {
        return id;
    }
    
    public void setId(Long id) {
        this.id = id;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getEmail() {
        return email;
    }
    
    public void setEmail(String email) {
        this.email = email;
    }
    
    public Integer getAge() {
        return age;
    }
    
    public void setAge(Integer age) {
        this.age = age;
    }
    
    public String getAddress() {
        return address;
    }
    
    public void setAddress(String address) {
        this.address = address;
    }
    
    public LocalDateTime getCreateTime() {
        return createTime;
    }
    
    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
}